package cn.ljy.common.utils.file;

import sun.misc.BASE64Encoder;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;

public class Base64FileUtil {

    /**
     * 说明：设计意图是为了将图片转为字符串以json格式返回
     * @param image 图片对象
     * @param ext 图片的后缀名
     * @return BAse64为字符
     */
    public static String convertBufferedImageToString(BufferedImage image, String ext){
        String image64="";
        ByteArrayOutputStream os = new ByteArrayOutputStream();
        try {
            ImageIO.write(image,ext,os);
            BASE64Encoder encoder = new BASE64Encoder();
            image64=encoder.encode(Objects.requireNonNull(os.toByteArray()));
        } catch (IOException e) {
            e.printStackTrace();
        }
        return image64;
    }
}
